#include <stdio.h>
#include "rbtree.h"

int main() 
{
    initializeNIL();
    Node *root = NIL;
    
    // 插入一些测试数据
    insertNode(&root, 10);
    insertNode(&root, 20);
    insertNode(&root, 30);
    insertNode(&root, 15);
    insertNode(&root, 5);
    
    printf("插入后红黑树中序遍历: ");
    inorder(root);
    printf("\n");
    
    // 删除节点20
    Node *nodeToDelete = search(root, 20);
    if (nodeToDelete != NIL) {
        deleteNode(&root, nodeToDelete);
        printf("删除20后红黑树中序遍历: ");
        inorder(root);
        printf("\n");
    } else {
        printf("未找到要删除的节点20\n");
    }
    
    // 删除节点10
    nodeToDelete = search(root, 10);
    if (nodeToDelete != NIL) {
        deleteNode(&root, nodeToDelete);
        printf("删除10后红黑树中序遍历: ");
        inorder(root);
        printf("\n");
    } else {
        printf("未找到要删除的节点10\n");
    }
    
    return 0;
}